如何在 SAS 中使用 IF 您所在的位置:网站首页 sas 语言语句 如何在 SAS 中使用 IF

如何在 SAS 中使用 IF

2024-03-10 03:21| 来源: 网络整理| 查看: 265

如何在 sas 中使用 if-then-else(附示例)经过 本杰明·安德森博 7月 14, 2023 指导 0 条评论

您可以在 SAS 中使用IF-THEN-ELSE语句,如果条件为真,则返回一个值;如果条件不为真,则返回另一个值。

该语句使用以下基本语法:

if var1 > 30 then var2 = 'good'; else var2 = 'bad';

您还可以将多个ELSE IF语句链接在一起,以根据更多条件返回更多潜在值:

if var1 > 35 then var2 = 'great'; else if var1 > 30 then var2 = 'good'; else var2 = 'bad';

以下示例展示了如何在实践中针对 SAS 中的以下数据集使用这些语句:

/*create dataset*/ data original_data; input team $points; datalines ; Cavs 12 Cavs 14 Warriors 15 Hawks 18 Mavs 31 Mavs 32 Mavs 35 Celtics 36 Celtics 40 ; run ; /*view dataset*/ proc print data = original_data;

示例 1: SAS 中的 IF-THEN-ELSE

我们可以使用以下IF-THEN-ELSE语句创建一个名为rating的新变量,如果点列中的值大于 30,则该变量取值“good”,否则取值“bad”:

/*create new dataset with new variable called rating*/ data new_data; set original_data; if points > 30 then rating = 'good'; else rating = 'bad'; run ; /*view new dataset*/ proc print data =new_data;

请注意,如果点列的值大于 30,则名为“评级”的新列将取值“好”,否则将取值“差”。

示例 2: SAS 中的 IF-THEN-ELSE IF

我们可以使用以下IF-THEN-ELSE IF语句来创建一个名为rating的新变量,该变量采用以下值:

如果分数大于 35,则为“超级”否则,如果分数大于 30,则为“好”否则,“不好”

以下代码展示了如何执行此操作:

/*create new dataset with new variable called rating*/ data new_data; set original_data; if points > 35 then rating = 'great'; else if points > 30 then rating = 'good'; else rating = 'bad'; run ; /*view new dataset*/ proc print data =new_data;

称为评级的新列根据点列中的相应值采用“优秀”、“良好”或“差”值。

注意:您可以随意使用任意数量的 ELSE IF语句,根据不同的条件返回任意数量的不同值。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何在 SAS 中使用 IF-THEN-DOSAS中如何删除重复项SAS中如何用零替换缺失值

关于作者安德森博本杰明·安德森博

大家好,我是本杰明,一位退休的统计学教授,后来成为 Statorials 的热心教师。 凭借在统计领域的丰富经验和专业知识,我渴望分享我的知识,通过 Statorials 增强学生的能力。了解更多

添加评论取消回复


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有